J'utilise un balladeur Sandisk Sansa Clip+ sans avoir eu le moindre problème depuis 2010.
Il y a quelques jours, le bouton poussoir de mise en marche ne fonctionnait plus, la partie extérieure du bouton bougeait sans actionner les contacts.
Démontage
C'est la partie la plus délicate, la face arrière est clipsée sur la face avant (sans colle).
Seuls le haut et le bas ont des gros clips faciles à actionner, mais j'ai décidé de l'ouvrir par le haut pour éviter de toucher les fils de la batterie (un court-circuit ferait beaucoup de dégâts).
La solution qui semble la plus pratique est d'enfoncer une lame de cutter (attention aux doigts), entre la face avant et l'arrière, au niveau du bouton d'alimentation, puis de faire levier.
Une fois qu'un ou deux clips ont bougé, on peut glisser la lame un peu plus loin sur les côtés et le bas. Il faut un peu forcer, la batterie est légèrement collée à la coque arrière et au PCB.
Le PCB est vissé à la face avant, mais l'écran est collé sur la face avant, j'ai décidé de ne pas y toucher pour garder l'écran aligné et fonctionnel.
Identification
Le dos du PCB est assez simple :
- SoC Sandisk (ASIC custom?) en boitier BGA
- Mémoire Flash Sandisk 2Gio, (probablement 32nm)
- Radio FM RDA5802E
- Batterie Li-po BAK 323036 (dimensions L l e en mm et dixièmes de mm), 290mAh
Réparation
J'ai trouvé les soudures du bouton poussoir arrachées, et le bouton poussoir entre la batterie et le SoC.
Un test avec un tournevis à permis de vérifier qu'aucune piste n'a été arrachée, et la re-soudure du bouton poussoir à réglé le problème.
Dans le doute, j'ai aussi refait quelques autres soudures peu chargées en étain.
Références
Tags de l'article : elec, fixed, teardown
Description
J'ai récupéré une alimentation HP ESP-135 qui vient d'un HP Proliant DL-380 G4 et fabriquée par Lite-On (modèle PS-3601-1C).
Ces alimentations peuvent se monter par paire et sont "hot swap". Par contre, je n'ai pas récupéré la carte d'interconnection entre les alimentations et la carte mère et qui permet de contrôler l'alimentation. Du coup il faudra faire un peu de reverse-engineering pour la faire fonctionner.
D'après l'étiquette, l'alimentation a un rail +5V (standby) sortant 7A, et un rail +12V capable de sortir 47A (600W).
Mesure
Le soucis, c'est que la connectique n'est pas documentée et ne respecte aucun standard, on peut trouver les lames de gauche qui sont reliées à la masse, et celle de droite au +12V (reliées par des busbars à l'intérieur).
Alimentation branchée, mais arrêtée :
- +5V
- +5V
- +5V
- 3~5V
- 0V
- 4.6V
- 0.2V
- 0V
- 0,2V
- 4.6V
- 1.5V
- 0V
Les pins en rouge sont des rails d'alimentation et ceux en bleu sont des signaux logique ou de feedback (forte impédance)
En identifiant un peu et en regardant le marquage sur le PCB, on peut trouver quelques signaux :
Identification :
- +5V SB
- +5V SB
- +5V SB
- FAN_V (out)
- -12V
- PS_ON_1?
- 12V FB?
- GND
- GND_FB?
- PS_ON_2?
- ?
- 5V_FB?
Uniquement les signaux en vert sont écrits explicitement sur le circuit imprimé. Les autres ont été "devinés" en mesurant et en testant.
Si on relie les deux signaux PS_ON à la masse (pins 6, 8 et 10), l'alimentation démarre.
Alimentation démarrée :
- +5V
- +5V
- +5V
- 3~12V
- -12V
- 0V_
- 12V
- 0V
- 0.2V
- 0V_
- 1.5V
- 4.5V
Câblage
Comme avoir des câbles qui pendent autour du connecteur n'est pas très pratique, j'ai voulu avoir un interrupteur en façade de l'alimentation.
Le PCB de connectique est relié à la carte principale de l'alimentation par des busbars et quelques câbles. Le connecteur CN8 est relié à un autre PCB de contrôle de l'alimentation.
Les signaux qui nous intéressent, PS_ON_1 et PS_ON_2, sont respectivement sur les pins 3 et 6 du connecteur CN8. On peut trouver un point de masse sur le connecteur de la LED D910.
Pour éviter que l'alimentation ne fonctionne dans un serveur, on va enlever les fils 3 et 6 du connecteur CN8 et les câbler directement sur l'interrupteur.
J'ai utilisé un interrupteur bipolaire pour limiter la casse (je ne sais pas comment la carte-mère commande l'alimentation), mais on peut voir d'autres montages où les deux signaux PS_ON_1 et PS_ON_2 sont reliés en permanence.
Notes
La vis située à côté des busbars est l'unique point qui relie la masse du secondaire au le châssis de l'alimentation. Il faut noter que les transistors Q300 et Q302 (PFC?) chauffent avec l'alimentation à vide, lorsque la masse est isolée. Dans le cas où on voudrait mettre plusieurs alimentations en série (ce qui n'est pas une bonne idée), c'est ce point-là qu'il faut isoler.
Références
Convert HP server PSU for RC use - TjinTech
Tags de l'article : diy, elec, reverse engineering
J'avais récupéré un onduleur dont l'autonomie est devenue de plus en plus courte jusqu'à ce que la LED Replace Battery soit allumée et que la batterie soit gonflée.
Une remarque curieuse était le non-fonctionnement avec certaines alimentations (Enermax à PFC actif) et les bruits audibles (couinement) avec certaines alimentations Antec (CWT) et HP, toutes à PFC actif (aucun problème avec des alimentations sans PFC).
Démontage
La batterie s'enlève par la trappe dessous, ensuite les deux vis à l'arrière permettent de déclipser la face arrière vers le haut et le côté droit.
Tous les câbles basse-tension ont des cosses Faston et les couleurs des câbles sont indiquées sur le PCB. Les câbles en 230V ont des connecteurs AMP/Molex "idiot-proof" qui rendent difficiles les erreurs de câblage.
Le PCB de protection RJ11 est clipsé sur la face arrière, et le PCB qui contient tout l'onduleur est déclipsable du côté gauche une fois le transformateur déposé (sans vis).
Tous les PCB ont la référence 640-0287_Rev08 (probablement lié à un fonctionnement 230V 50Hz).
Architecture
L'onduleur a une structure off-line, typique des onduleurs cheap.
En voyant les deux enroulement symétriques du transformateur et deux MOSFETs de puissance, on identifie une structure push-pull.
Plutôt que de commander les transistors en PWM à quelques kHz pour avoir une sortie quasi sinusoïdale (l'inductance du transformateur et une capacité de 100nF suffisent à filtrer les harmoniques), cet onduleur commande les transistors en tout ou rien à 50Hz.
Ce qui explique les incompatibilités avec certaines alimentations à PFC actif.
En plus de l'onduleur, une petite alimentation Flyback est présente pour charger la batterie.
Transformateur
Le transformateur à 3 enroulements :
- 230V (10.5 Ohm, 18.5H)
- 2×7.8V (<100mOhm, 20mH)
- 15V (~100mOhm, 40mH)
L'enroulement (2) est alimenté en 12V à 50Hz (signal carré retardé) pour que l'enroulement (1) fournisse une tension de 350V en crête (230V efficace en prenant le retard en compte).
L'enroulement (3) est commandé par la basse tension pour annuler le flux du transformateur pendant les temps morts (technique "active clamp").
Dimensionnement
L'onduleur est donné pour 500VA en sortie d'onduleur (600W consommés sur la batterie est un bon ordre de grandeur).
La batterie Plomb-Acide étanche est donnée pour 7Ah, sans aucune mention "high-current" comme une batterie de véhicule. Les batteries Yuasa NP7-12 sont souvent données comme équivalentes, et ont une autonomie de 2min à leur courant maximum de 6C (soit 42A, 440W en fin de décharge).
Le fusible protégeant la batterie est donné pour 60A (600W en fin de décharge), les MOSFETs du demi-pont de l'onduleur (HFR3205/IRF3205) sont donnés pour 80A (continu) et 8mOhm et sont montés sur un radiateur de ~12.5°K/W (à la louche). En considérant une moyenne de 30A par transistor (demi-pont), on obtient 7.2W dissipés et une différence de température package/air de 90°C (soit 115°C avec une température ambiante de 25°C).
Je n'ai pas mesuré la saturation du transformateur (mais celui de mon alim de labo de 100W est plus volumineux), du coup il n'est pas possible de conclure.
Par contre les 500VA sont probablement atteignables en pic, lors du branchement d'alimentations à découpage (chargement "brutal" de capacités), mais l'onduleur est plus réaliste pour fournir 50 à 150W pendant 10 à 30min...
Protections
Le transformateur CT1 et les AOPs IC8 renvoient une mesure du courant, et les réseaux de résistances R40-R71 et les AOPs IC10 renvoient une mesure de la tension du secteur et de celle en sortie d'onduleur.
Toutes les mesures arrivent sur les canaux analogiques du microcontrôleur IC1 (ST72F63BK-4, 8-bit à 24MHz, USB, ADC...), qui a des sorties pour commander les MOSFETs push-pull et de clamp de l'onduleur.
Références
Tags de l'article : elec, teardown
Depuis un moment, j'ai réussi a me débarasser de mes disquettes de boot en démarrant par le réseau avec PXE (voir les articles concernant PXE).
Il est même possible de se passer entièrement de disque dur avec Linux et NFS, mais ce n'est possible qu'avec quelques systèmes basés sur UNIX.
Pour utiliser DOS avec un système plus gros qu'une disquette, ou même Windows sans disque-dur, c'est une autre histoire puisqu'ils ne sont installables que sur un disque-dur visible par le bios.
Serveur/Target
On va installer le service iscsitarget et le module noyau iscsitarget-dkms
On ajoute les images (ou disques physiques/RAID) à partager dans le fichier /etc/iet/ietd.conf en respecant les noms "iSCSI Qualified Name" :
Target iqn.2007-01.org.exacnet:foobar.1
IncomingUser
OutgoingUser
Lun 0 Path=/media/stuff/iscsi/foobar,Type=fileio
Alias foobar
Ici, le disque iqn.2007-01.org.exacnet:foobar.1 est relié au fichier /media/iscsi/foobar, qui est une image de disque (crée avec la commande dd).
Une fois le fichier mis à jour, il faut redémarrer le daemon iscsitarget :
# /etc/init.d/iscsitarget restart
[ ok ] Restarting iscsitarget (via systemctl): iscsitarget.service.
On peut aussi afficher la liste des disques partagés :
# cat /proc/net/iet/session
tid:1 name:iqn.2001-01.org.exacnet:foobar.1
sid:17796167515963456 initiator:iqn.2001-01.org.exacnet:foobar
cid:0 ip:192.168.3.100 state:active hd:none dd:none
La commande ietadm permet d'administrer le service iSCSI de façon non-persistante, et il est aussi possible de sécuriser iSCSI (simple authentification, les données passent toujours en clair).
Client/Initiator (Linux)
Le package open-iscsi fournit les commandes nécessaires pour utiliser un client iSCSI.
On commence par "découvrir" les machines du réseau qui utilisent le protocole iSCSI :
# iscsiadm --mode discovery
localhost:3260 via sendtargets
192.168.3.3:3260 via sendtargets
On va vérifier les disques accessibles sur la machine 192.168.3.3 :
# iscsiadm --mode discovery -t sendtargets -p 192.168.3.3
192.168.3.3:3260,1 iqn.2001-01.org.exacnet:foo
192.168.3.3:3260,1 iqn.2001-01.org.exacnet:bar
192.168.3.3:3260,1 iqn.2001-01.org.exacnet:foobar.1
La commande iscsiadm -m node
permet aussi de lister tous les disques accessibles, peu importe sur quelle machine.
On peut ensuite choisir un disque et l'attacher à la machine :
# iscsiadm -m node --targetname "iqn.2001-01.org.exacnet:foobar.1" --login
Logging in to [iface: default, target: iqn.2001-01.org.exacnet:foobar.1, portal: 192.168.3.3,3260] (multiple)
Login to [iface: default, target: iqn.2001-01.org.exacnet:foobar.1, portal: 192.168.3.4,3260] successful.
L'attachement est effectué avec succès, mais il faut connaître le nom de périphérique qu'a attribué le système au disque :
# dmesg |tail -n 20
scsi20 : iSCSI Initiator over TCP/IP
scsi 20:0:0:0: Direct-Access IET VIRTUAL-DISK 0 PQ: 0 ANSI: 4
sd 20:0:0:0: Attached scsi generic sg2 type 0
sd 20:0:0:0: [sdb] 409600 512-byte logical blocks: (209 MB/200 MiB)
sd 20:0:0:0: [sdb] Write Protect is off
sd 20:0:0:0: [sdb] Mode Sense: 77 00 00 08
sd 20:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
sdb: sdb1
sd 20:0:0:0: [sdb] Attached SCSI disk
On peut ensuite monter le disque et l'utiliser comme s'il s'agissait d'un disque local :
# mount /dev/sdb1 /mnt/
Une fois l'utilisation terminée, on peut détacher le disque :
# iscsiadm -m node --targetname "iqn.2001-01.org.exacnet:foobar.1" --logout
Logging out of session [sid: 3, target: iqn.2001-01.org.exacnet:foobar.1, portal: 192.168.3.3,3260]
Logout of [sid: 3, target: iqn.2001-01.org.exacnet:foobar.1, portal: 192.168.3.3,3260] successful.
Il est possible de faire plusieurs choses un peu bizarres comme du RAID, ou de monter le même disque (même iqn) à travers plusieurs adresses IP. C'est utile pour des systèmes tolérants aux pannes, mais inutile et compliqué pour un simple "bricolage".
Client/Initiator (PXE)
Pour un seul disque, il n'y a que 3 opérations à faire :
- Régler le nom du disque
set initiator-iqn iqn.2001-01.org.exacnet:foobar.1
- "Accrocher" le disque iSCSI
sanhook iscsi:192.168.3.3::::iqn.2001-01.org.exacnet:foobar.1
- booter :
sanboot
En fait, les paramètres par défaut d'iPXE suffisent pour un seul disque. Si on veut en mettre plusieurs, il faut spécifier l'identifiant de chaque disque.
-
set initiator-iqn iqn.2001-01.org.exacnet:foo
-
sanhook --drive 0x80 iscsi:192.168.3.3::::iqn.2001-01.org.exacnet:foo
-
sanhook --drive 0x81 iscsi:192.168.3.3::::iqn.2001-01.org.exacnet:bar
-
sanboot
Dans ce cas, les disques foo et bar seront attachés, et le sytème bootera sur le disque foo, et ça ne fonctionne pas sans donner l'IQN du premier disque.
Utilisation et Performances
On peut installer un système d'exploitation sur un disque iSCSI ou son image comme s'ils étaient des disques physiques.
DOS s'installe sans problème avec QEMU ou une machine physique ayant booté par PXE.
Avec mon serveur un peu ancien et peu performant (Intel Celeron 600MHz), le débit est entre 6.5 et 8Mio/s et les temps d'accès entre 2 et 10ms selon la charge du serveur (en ethernet 100Mbit/s).
Pour l'instant, je n'ai pas réussi à faire fonctionner Windows (j'ai testé les versions 3.1 et 98 sans succès) en bootant depuis un disque iSCSI, mais DOS et Linux fonctionnent sans problème.
Références
Tags de l'article : info, iSCSI, PXE, réseau
Il y a quelques semaines, un de mes disques durs s'est arrêté de fonctionner. Ça a été l'occasion de tenter de le réparer, et de voir s'il était possible de réparer d'autres disques en stock.
Hitachi Deskstar 7K3000
J'ai acheté deux disques identiques, de modèle HDS723020BLA642 (2To, 7200rpm, SATA 6Gbit/s) en août 2011.
Jusqu'en juin 2013, les deux disques fonctionnaient 24h/24 dans mes deux serveurs, dont les données étaient synchronisées quotidiennement.
Après 2013, un des deux disque n'a servi que pour des sauvegardes plus ou moins régulières.
En juin 2016, j'ai démarré le disque pour une sauvegarde, mais il n'a jamais fonctionné, même après plusieurs tests.
Curieusement, c'est le disque qui a le moins servi (< 200 start-stop, < 20 000 heures, température < 40°C) qui ne fonctionne plus.
Identification
Comme il n'y a pas de rotation du moteur ni de mouvement des têtes (d'habitude audibles), et que le disque n'est pas détecté par le PC, je suppose que le problème vient de l'électronique et pas de la mécanique ou du stockage.
Il y a quelques marquages sur le PCB (référence : 110 0A90302 01), mais aucune documentation, datasheet ou schéma n'est accessible, il y a quelques forums qui montrent des points de tests, mais ce n'est pas forcément facile à tester (le PCB est face contre le disque) ni fiable (certaines infos se contredisent).
Un cas typique à l'air de venir de fusibles sur les rails 5V et 12V à proximité de diodes transil (TVS), mais tout est en bon état de ce côté là, et le disque consomme un peu sur le rail 5V. En testant le non-court-circuit des capacités, transistors/MOS et diodes, et la continuité de toutes les inductances, résistances de puissance, diodes et fusibles, je suis arrivé à un composant ressemblant beaucoup à un fusible (ou une capacité en mica, peu probable ici) ouvert.
Réparation
Après l'avoir remplacé par un fusible 2A temporisé (il n'y avait aucun marquage clair d'origine, mais ça devrait se couper en cas de court-circuit franc), il n'y a toujours aucun fonctionnement, et le fusible est encore conducteur.
FAIL!
Si quelqu'un a un disque Hitachi Deskstar 7K3000 Hors-service avec le même PCB 110 0A90302 01, vous pouvez me contacter, je serais curieux de faire quelques tests.
If anyone has a non-working Hitachi Deskstar 7K3000 with a 110 0A90302 01 PCB, feel free to contact me, I would be interested to perform a few more tests.
Update (07.2016) :
Le fusible n'en est pas un. Il s'agit d'un accéléromètre piezo (d'où une capacité de quelques centaine de pF et pas de résistance parallèle quand je l'ai mesuré) et sert à détecter les chocs (probablement pour la garantie). Son remplacement par un fusible n'a rien dû changer...
IBM (HP) Ultrastar 36LZX
J'avais récupéré un array RAID de disques DDYS-T18350 (18.4Gio, 10krpm, SCSI Ultra 3) dans un serveur HP, et l'un d'eux ne fonctionnait pas. Je l'avais remplacé sans me poser de questions il y a plusieurs mois, mais je l'avais mis de côté pour une autopsie.
Identification
Le disque avait un comportement curieux, avec des temps d'accès très lents, quelques redémarrages, et la carte RAID qui affichait un problème pour ce disque.
J'ai supposé un problème mécanique, mais j'ai commencé par démonter le disque de son rack, et j'ai trouvé une capacité 0402 au fond du rack...
Réparation
Avec une soudure un peu grosse, mais faite avec du matériel accessible (panne de fer de 1.2mm, pas de flux, étain au plomb, pince à épiler), il y a quand même de quoi replacer proprement quelques composants en boitier 0402.
Résultat
Le disque est détecté par la carte SCSI, mais renvoie l'erreur "Disk not ready", et le système d'exploitation renvoie un timeout pendant la detection des disques. L'absence de capacité a peut-être causé d'autres dégâts, ou alors c'est une coïncidence (probablement un choc durant le transport).
FAIL!
Références
Tags de l'article : elec, info, reverse engineering
Dans la majorité des cas, le refroidissement des serveurs est conçu pour un fonctionnement 24h/24 dans un environnement défavorable, typiquement, avec 10 à 40 serveurs empilés dans une baie, avec une température ambiante de 50°C.
Dans ce cas-là, il est nécessaire d'avoir une ventilation performante pour que la température de tous les composants reste acceptable (typiquement, <70°C pour les gros circuits intégrés, <85°C pour les composants de puissance et <55°C pour les disques durs).
Mais pour utiliser un serveur seul, dans une maison, ou bien pour le réutiliser en tant que workstation, la ventilation est inutilement performante, et reste très bruyante.
HP Proliant ML-350 G1
J'ai eu ce serveur dans ma chambre en 2010, du coup j'ai rapidement changé sa ventilation.
Sur ce serveur, il y a un ventilateur de 120mm qui extrait l'air du boitier, un ventilateur de 90mm qui refroidit le processeur et les disques durs, et un ventilateur de 80mm dans l'alimentation.
L'alimentation est proche de la norme ATX (avec un connecteur propriétaire de plus). Il est possible de remplacer le ventilateur simplement en recâblant le connecteur, en sachant que le fil du tachymètre n'est pas câblé.
Dans mon cas, j'ai décidé de me passer du ventilateur de 120mm (rouge) et de remplacer celui de 90mm (vert).
Sauf que si la majorité des ventilateurs ont un connecteur à 3 pins, les HP Proliant ont un câble propriétaire :
- GND
- GND (sense)
- 12V
- NC (détrompeur)
- Tach
Ce câble a plusieurs ruses : le pin 2 est court-circuité par le câble du ventilateur, ce qui permet de remarquer si un ventilateur n'est pas branché et Le pin 3 est utilisé par le tachymètre du ventilateur.
Dans les deux cas, la carte-mère renvoie une erreur si un ventilateur n'est pas branché, ou bien s'il tourne trop lentement.
Si c'est clairement utile pour prévenir les erreurs dans un serveur en production, ça force à utiliser un ventilateur d'origine HP, ou bien à copier le câble et à avoir un ventilateur rapide.
Modification
Pour se passer de la première erreur, les pins 1 et 2 de chaque ventilateur sont reliés par un jumper pour leurrer la détection de ventilateur.
La seconde erreur va être contournée en leurrant la carte-mère en lui faisant croire qu'il y a un ventilateur tournant au moins à 3000rpm (vitesse du plus lent des ventilateurs originaux).
Les ventilateurs de PC ont un moteur brushless à deux phases, et du coup le signal du tachymètre renvoie deux impulsions par tour, avec un transistor monté en collecteur ouvert, qui vient se fermer pendant quelques ms.
Les circuits intégrés NE555 peuvent se monter en oscillateur astable pour générer un signal avec un rapport cyclique d'environ 1/2, et une fréquence de 150Hz (4500rpm).
On utilise deux transistors, un pour chaque ventilateur. Il aurait été possible de relier les deux signaux sur cette carte-mère, mais il est possible que le signal du tachymètre n'ait pas le même niveau logique partout (typiquement le cas de ventilateurs branchés sur des cartes différentes dans un même PC).
Sur le montage réel, je pense que j'avais oublié de relier le point entre les R1 et R2 au pin 6 (Threshold), du coup le réseau de résistances (internes au 555) chargait C1 et la fréquence et le rapport cyclique devaient être incorrects. J'avais aussi oublié C2 et C3 pour découpler le pin 5 (CV) et l'alimentation.
Le montage final est emballé dans un sachet antistatique et collé à la carte SCSI.
Références
Tags de l'article : diy, elec, info
J'utilise un système audio avec des éléments récupérés ou faits maison, en évolution depuis environ 2004, avec quelques tests qui ont été abandonnés entre temps.
Sources
- Tuner : Silver SU-1010 (Marque Japonaise bas de gamme, mais de qualité correcte) des années 80, tuner AM 3-bandes, FM stéréo, entièrement analogique (PLL), peu utilisé,
- Lecteur CD : Kenwood DP-2010 de 1989, DACs Burr-Brown PCM56P (16bits série, 96dB de dynamique, SnR : 100dB)
- PC : sortie ligne, utilisée la majorité du temps.
Ampli - Préampli
Sony TA-FE370 (2001) :
- 4 entrées lignes (CD, Tuner, Aux et Tape),
- une sortie ligne (mixée et reliée au 2nd ampli),
- Ampli intégré STK4211-2 (2x70W, probablement un peu optimiste),
- Alimentation 2x42V + 2x12V + 5V
- Potentiomètre motorisé, entrées télécommandées (SNR théorique : 105dB, audible en pratique)
Ampli
Silver SA-1010 (198x, modifié entre 2007 et 2010) :
- Entrée ligne,
- Ampli intégré STK???? (2x30W, probablement un peu optimiste),
- Alimentation 1x63V, capacité low-ESR 2200µF,
- Préampli supprimé, (SNR théorique : 65dB, amélioré en supprimant le préampli)
Enceintes large-bande
Construites en 2008 :
- Haut-parleurs : Fostex FE-127E (120mm),
- Enceinte : 12L clos, MDF 22mm + laine de verre,
- Bande passante : 150Hz-19kHz à 91dB/1W ±3dB, fréquence de résonnance à 130~150Hz,
- Puissance admissible : 15W (en filtrant les graves) en 8Ω
Caisson de basses
Construit en 2009 :
- Haut-parleur : JBL GT-120.2 (300mm),
- Enceinte : 200L clos, MDF 22mm + renforts,
- Bande passante : 27Hz-300Hz à 92dB/1W ±3dB (20Hz à -10dB),
- Puissance admissible : 250W en 4Ω
Anciens éléments
- Lecteur de cassettes Silver SD-1010, démonté vers 2005 à cause de son inutilité et d'une courroie cassée,
- Ampli à base de STK4141-V, chip cramé à cause d'une erreur de câblage en 2010,
- Subwoofer en ligne de transmission (U-Frame), testé en 2008, très performant (capable de faire trembler une maison avec 3W), mais avec une distorsion importante et un caisson encombrant.
Todo
- Le préampli intégré à l'ampli Sony est de mauvaise qualité, un autre préampli est en cours de fabrication,
- L'ampli utilisé pour le caisson de basses est légèrement usé (buzz du transformateur audible) et la capacité de sortie limite la réponse dans les graves, il sera probablement changé ou amélioré,
- Les enceintes devaient être peintes, mais ça n'a jamais été fait...
Références
Tags de l'article : audio, diy
Cette année, l'équipe Galiléo a été sélectionnée pour participer à la coupe d'Europe de Robotique (Eurobot) qui s'est déroulée le weekend du 10 au 12 juin 2016 au Kremelin-Bicêtre (sud de Paris).
Le robot a été légèrement amélioré après la coupe de France de robotique (mai 2016) pour le fiabiliser.
Mécanique
Bloc de propulsion :
Déplacements à 1m/s, accélérations à >1.5m/s²
- palliers en aluminium, flancs en PVC,
- moteurs Maxon RE35 (90W), réducteurs Dunker PLG52 (~1:20),
- poulies/courroies XL5 9.5mm,
- roulements 608Z (rollerblade), tiges rectifiées en inox (8mm),
- roues alu/joints toriques SES Lynxmotion
Odométrie :
Précision à 0.25% (1cm de décalage sur un carré de 1m de côté)
- tige rectifiée en inox (8 ou 12mm),
- roulements de têtes de lecture de disques durs,
- supports de codeurs en aluminium usiné,
- encodeurs en quadrature Nemicon OEZ-1024 (4096 PPR en quadrature),
Base :
Assemblage de plaques de PVC/Polycarbonate de 10mm usinées à la main (scie sauteuse, meuleuse et perceuse à colonne, précision ~2mm) et plaques d'aluminium de 5mm découpées/fraisées (précision 0.15mm), profilés d'aluminium de 25mm, 4 caster-balls suspendus
Actionneurs :
- Lame ramasse-cubes actionnée par deux servomoteurs (TowerPro MG995 à pignons métalliques, 1.1Nm),
- Pousse-cubes actionné par un motoréducteur ~15W + endstops (ouverture en <1s),
- Ramasse-poissons (aimants de disque-durs + plaques de mylar/polycarbonate) actionné par un servo sans butée (multitours) + endstop,
- Parasol actionné par un servomoteur,
326
Évitement :
Détection d'une balise cylindrique (ø 80mm * 80mm) retro-réflechissante à une distance réglable entre 150 et 1200mm.
- Tourelle à arbre creux actionnée par un moteur DC + réducteur à poulie (~100rpm)
- Fourche optique (1 PPR),
- Volant d'inertie en PVC,
- Capteur IR industriel (Dinel BA 9xx) alimenté par des piles 9V (alim + contrepoids)
- Transmission optique (LED, phototransistor à travers un arbre creux),
Électronique
Software :
Stratégie :
Comme depuis au moins 2011, le programme gérant la stratégie est une machine d'états avec une liste de positions à atteindre (position, angle, vitesse, état des actionneurs, timeout).
La différence cette année vient d'une visualisation codée avec processing, qui permet d'enregistrer les positions en déplaçant le robot sur la table.
Asservissement :
Pour la première fois, l'asservissement en PID et la génération de trajectoires ont été remplacés par une gestion en logique floue en angle et position qui s'est montrée très fiable.
Résultats :
Les robots ont été homologués après 4h de travail (réglages de l'évitement), mais beaucoup de travail a été nécessaire sur la stratégie, tout au long de la coupe.
- Match 1 : 49 points, 25ème place, défaite contre reSET (Russie)
- Match 2 : 81 points, 20ème place, victoire contre UXSC1 (Espagne)
- Match 3 : 0 points, 28ème place, match nul contre Green Birds (Allemagne)
- Match 4 : 37 points, 28ème place, défaite contre Team 007 (Roumanie)
- Match 5 : 56 points, 29ème place, défaite contre A-Robot (Russie)
Le 3ème match a montré une erreur sur la stratégie (un point a été défini légèrement en dehors du terrain), qui a fait déraper le robot, et déjanter une roue. Une fois le timeout dépassé, le robot s'est dirigé vers une autre position (à 1m/s), en déviant contre un obstacle du terrain (l'asservissement n'est pas capable de compenser lorsqu'une roue codeuse a dérapé). Il a été nécessaire d'actionner le bouton d'arrêt d'urgence pour protéger le robot et le terrain, d'où une annulation de tous nos points (le robot adverse n'avait pas démarré à cause d'un Schrödingbug).
Le côté du terrain où les robots jouent est déterminé aléatoirement, et est tombé du côté violet pour nos 5 matchs (homologuation côté vert), ce qui a ralenti notre action (l'actionneur utilisé pour les pêcher les poissons est du côté gauche du robot, ce qui oblige à rouler en marche arrière pour pêcher du côté violet).
Une chose est assez évidente, l'équipe Galiléo a un robot performant, mais qui a été prêt beaucoup trop tard. Il n'a pas été possible de faire assez de tests pour fiabiliser les actionneurs et la stratégie.
Tags de l'article : CPE, Galiléo
Le feu forum Nokytech m'avait donné un boitier prévu pour absorber les vibrations des disques durs en ayant un refroidissement amélioré.
Montage original
Le montage est simple, on a deux plaques d'alu vissées sur les côtés d'un disque dur, et une autre plaque avec des ailettes posée sur le haut du disque dur. L'assemblage du disque et des plaques d'alu est monté dans une baie 5.25" par des shock mounts en caoutchouc.
En pratique, le disque dur est isolé mécaniquement du boîtier. Du coup ça permet d'éviter que le boitier entre en résonnance lorsque le disque gratte. Par contre l'isolation est aussi thermique (le boîtier participe partiellement au refroidissement du disque), et donc les dissipateurs en aluminium sont indispensables.
Solution temporaire
Après plusieurs démontages et à peine 4 ans d'utilisation, les pièces en caoutchouc sont dégradées et tombent en poussière.
Le montage rapide était pour poser le disque à la place d'une cage disque d'un serveur HP Proliant.
Il avait suffit de poser le disque et les dissipateurs sur un bloc de mousse, tenu par des ficelles pour éviter les mouvements.
Amélioration
Comme tous les PC n'ont pas forcément autant de place qu'un HP Proliant (27kg sans disque), il a fallu l'adapter à mon serveur (ancien Desktop IBM).
J'avais prévu de réutiliser des adaptateurs de disques 3.5" dans des baies 5.25" viennant de serveurs HP Proliant. Ils ne sont pas conçus pour limiter les vibrations, mais rentrent parfaitement dans le boitier de mon serveur.
On va commencer par couper la tôle qui maintient le disque au niveau d'un pliage à 90° (On peut casser l'acier par fatigue avec des pliures répétées).
On va ensuite arracher les heatpipes (assez inutiles avec la base du disque du en aluminium), puis utiliser leurs supports pour fixer les plaques latérales dans la base en tôle (On peut percer/tarauder 4 trous en M4).
Ensuite, c'est du LEGO, on visse les plaques latérales sur le disque, on visse les plaques latérales sur la tôle avec un sandwich de bouts de silicone (absorbeurs de chocs de lecteurs CD) et de ressorts (supports de têtes d'imprimante coupés à la bonne taille).
Il reste le dissipateur du dessus qui doit être limé sur 3mm pour permettre aux vis/ressorts de passer, et c'est utilisable.
Résultats
Objectivement, le disque passe de 44~45°C à 42°C (température de pièce à 23°C), sans aucun ventilateur. Il ne faut pas oublier que les vis et le dissipateir dépassent et empêchent d'installer un second disque dans la baie supérieure.
Subjectivement, mon disque Hitachi 7K3000 était déjà assez silencieux en activité, les bruits de grattement sont quasiment inaudibles. Par contre le bruit du moteur/roulement n'est pas absorbé (une plaque de mousse posée devant le serveur fait l'affaire).
Références
* Xilence HDD Icebox - Technic3d [DE]
* Xilence Icebox review - Techware Labs
(Sources images)
Tags de l'article : bricolage, diy, hardware
Mon routeur (WRT54G) et point d'accès wifi avait quelques problèmes de fiabilité (freezes, coupures de réseau...), j'ai essayé de voir si on pouvait trouver un remplaçant vallable.
Le Nexx WT3020 est une Chinoiserie avec deux interfaces ethernet, une interface wifi, un port usb host et un SoC compatible avec OpenWRT.
Software
Le firmware d'origine à l'air utilisable avec un noyau Linux contrôlable par telnet et une interface web en Anglais (ou en Chinois).
- Adresse IP : 192.168.8.1
- Login (http) : admin
- Mot de passe (http) : admin
- Login (telnet) : nexxadmin
- Mot de passe (telnet) : y1n2inc.com0755
On peut changer le firmware directement depuis l'interface web ou bien par telnet.
OpenWRT
Il faut d'abord connaître la quantité de mémoire flash embarquée. Comme la puce est difficile à lire, il semble que les modèles dont l'adresse MAC commence par 20:28:18 ont 8Mio de flash.
On peut ensuite télécharger l'image d'OpenWRT adaptée au routeur et utiliser l'interface web d'origine pour flasher le firmware.
Au reboot, l'adresse IP change et devient 192.168.1.1, et une fois un mot de passe choisi, on peut utiliser ssh.
Hardware
En ouvrant le boitier (quasiment impossible sans casser de clip), on voir un SoC Mediatek MT7620N, une mémoire flash SPI (8Mio), deux transformateurs d'impulsion (ethernet), de la SDRAM (64Mio), et quelques régulateurs de tension.
On voit directement que la capacité d'entrée est trop faible (400 à 900mV de ripple mesurés, en fonction de la charge). Par contre le ripple est faible après le régulateur LDO qui alimente le SoC.
J'ai préféré rajouter une capacité chimique de 220µF (16V, ESR <1Ω), ce qui limite le ripple à <20mV.
Les pads qui sont accessibles entre les deux ports ethernet et le SoC servent pour une liaison série, utile pour avoir un accès direct à u-boot en cas de problème.
Par contre il n'y a pas de JTAG, du coup en cas de brickage, il faudra dessouder la mémoire flash (SPI) pour la re-flasher.
Performances
J'ai essayé de mesurer la vitesse de transfert en copiant des fichiers par NFS et en utilisant le benchmark réseau iperf :
- Routeur -> PC : 24.9Mbit/s
- PC -> Routeur : 22.6Mbit/s
En vérifiant, le routeur fonctionne en mode 802.11g, et est théoriquement limité à 54Mbit/s (~30 en pratique). Il y a peut-être une configuration spécifique pour OpenWRT (le hardware est censé supporter la norme 802.11n à 300Mbit/s et le MIMO).
802.11n (update 06.2016)
Avec un peu de recherches, on voit que le mode 802.11n, qui suppose une bande passante de 300Mbit/s ne peut être actif que si le mode WMM (Wi-Fi Multimedia) est activé et si les données sont encryptées en WPA (j'utilisais le mode WEP depuis mon premier routeur).
Avec quelques tests :
- Routeur -> PC : 70.8Mbit/s
- PC -> Routeur : 21.6Mbit/s
On a aucune différence en upload, mais le débit en download devient intéressant.
Références
Tags de l'article : chinoiserie, hardware, info, linux, réseau