Monorailcat

Smartphone Nokia 4.2

icon 30/10/2021 - No comments

J'ai dû changer de téléphone quand la partie RF de mon Moto G5 (XT1676 "cedric") est devenue défectueuse.
Il a fallu trouver un téléphone équivalent et si-possible mieux, sauf que j'ai eu du mal à trouver des téléphones moyens et qu'on arrive vite à des téléphones haut-de-gamme encombrants et des téléphones bas-de-gamme de qualité douteuse.

Hardware

J'ai utilisé la page Phone Finder de GSM Arena qui liste les smartphones correspondant aux critères renseignés.
Puis ensuite la page de comparaison pour être sûr de ne pas avoir oublié une caractéristique qui pourrait manquer.

Il y avait des critères incontournables :
  • Jack audio 3.5mm
  • Slot microSD
  • Wifi g/n
  • Bluetooth LE

J'ai pu avoir aussi bien ou mieux que le Moto G5 :
  • 3GiB RAM > 2GiB RAM
  • 32GiB flash > 16GiB flash
  • SoC Qualcomm 8-core ("little-big") 12nm < 28nm
  • Beidou en plus du GPS et Glonass

Et quelques critères manquants, ou moins bien :
  • Hauteur : 149mm > 144.3mm
  • Batterie non-amovible, à priori accessible
  • Écran 720*1520 < 1080*1920, peu dérangeant
  • Gyroscope manquant, pas de boussole

Le Nokia 4.2 (TA-1157, "PAN_sprout"/"Panther") est assemblé par Foxconn et à l'air de bonne qualité.

Software
Je trouve que les versions récentes d'Android sont devenues moins personalisables et l'environnement de Google est un peu intrusif.
Trouver un smartphone avec des ROMs alternatives, un bootloader débloquable et un minimum de support était aussi un critère important.

Le forum XDA-Developpers est un bon point de départ pour trouver des ROMs alternatives et s'assurer que le flash est possible.

Lineage OS
Lineage OS n'est pas disponible officiellement pour le Nokia 4.2, mais il existe un portage non-officiel.

  • Activation du "Developer mode" (About phone -> 7 taps sur "Build info")
  • Activation de ADB
  • Reboot au bootloader puis recovery (selection avec les boutons de volume)
  • Sideload d'une ancienne mise-à-jour qui permet de flasher
  • Débloquage du bootloader avec fastboot
  • Flash de l'image de boot/recovery de Lineage avec fastboot
  • Reboot en recovery
  • Sideload de l'ancienne mise-à-jour (slots a/b)
  • Sideload de Lineage OS
  • Sideload des Gapps (MindTheGapps ou OpenGapps)
  • Reboot et configuration

En cas d'erreur, il est toujours possible de faire quelque chose tant que le bootloader est accessible et débloqué, ou qu'une image de recovery est disponible.

Root
L'application Magisk permet de modifier la ROM de boot, puis on peut ensuite réutiliser le procédé précédent pour avoir un OS utilisable.

L'application Titanium Backup nécessite d'être root, mais permet de transférer les données beaucoup plus facilement qu'à la main avec ADB (qui nécessite aussi d'être root). La carte microSD permet de transférer le reste des données assez facilement.

Note: Le programme de recovert TWRP semble exister mais n'a pas l'air fonctionnel sur ce smartphone.

Références

icon Tags de l'article :

Fail

icon 21/03/2021 - No comments

Ce site et quelques autres services personnels étaient hébergés chez OVH, spécialement dans le datacenter SBG. Ce datacenter a connu un "incident" le 10 Mars 2021 vers 0:40.
OVH's SBG Datacenter

J'ai pu restaurer des sauvegardes un peu anciennes et reconstruire le reste à partir de sauvegardes partielles, mais je profiterais sûrement de cet évênement pour faire quelques modifications à ce site.

icon Tags de l'article :

Clé dynamométrique (2)

icon 15/01/2020 - No comments

J'ai déjà une clé dynamométrique dont j'arrivais aux limites de son utilisation.
  • Gamme d'utilisation de 28Nm à 210Nm
  • Bras de 400mm
  • Carré d'entraînement de 1/2"
C'est très bien pour des pièces de voiture accessibles (roues, freins, suspension), mais le couple de serrage minimum est beaucoup trop élevé pour les pièces de vélo délicates en aluminium, et la clé est trop encombrante pour certaines pièces inaccessibles dans une baie moteur de voiture.

Astuce
J'ai acheté une balance pèse-bagages, testé son étalonnage avec des bouteilles d'eau entre 1kg et 22.5kg. Je n'ai pas pu tester précisément au dela, mais le capteur fonctionne bien jusqu'à 50kg comme spécifié.
Je dispose de clés à douille et plates adaptées aux pièces que je dois visser. Comme il faut un levier et une force pour avoir un couple, il n'y a besoin de rien de plus.

On va devoir mesurer la longueur entre le pivot et le point où on applique la force, puis calculer la force à appliquer en fonction du couple donné :
diy torque wrench schematic
Il est important que la sangle soit perpendiculaire au levier, que la longueur utile du levier (bleu-clair sur le schéma) soit connue et ne change pas, et que la totalité de la force soit appliquée sur le pèse-bagages.

$$C = F \times L$$
$$F = \frac{C}{L}$$
$$F_{kg} = \frac{C}{L \times g}$$
Avec \(F_{kg}\) en kg-f, \(F\) en N, \(C\) en Nm, \(L\) en m et \(g\) = 9.81N/kg

Parfaitement fonctionnel là où la place est limitée:
diy torque wrench working

Dans ce cas, il s'agit d'un embout 5/16" pour lequel même un cliquet 1/4" et un adaptateur 5/16" ne passeraient pas.
Par chance, 5/16" donnent environ 7.9mm, ce qui fait que l'embout recouvert de scotch rentre sans jeu dans une clé à pipe de 8mm (elle-même enfoncée dans une clé plus grande pour avoir un plus grand levier).

Par exemple ici, on mesure une longueur entre le centre de l'embout et la sangle de la clé L = 225mm, et on doit appliquer un couple C = 50Nm. Ce qui donne : $$F_{kg} = \frac{50Nm}{0.225m \times 9.81N/kg}$$
$$F_{kg} = 22.65 kg \cdot f$$
On doit ainsi serrer jusqu'à ce que le pèse-bagage affiche 22.65kg.

Note: La sangle du pèse-bagage n'est pas placée correctement vu que la photo a été prise avec une seule main.

icon Tags de l'article :

Lampe à LEDs : Teardown

icon 05/10/2019 - No comments

Éclairage d'origine
J'ai un luminaire avec 4 lampes G9, qui permettait pas mal de redondance. Il a fallu se résoudre à acheter de nouvelles lampes en arrivant au seuil critique de 3 lampes non-fonctionnelles.

Je suis tombé sur des lampes à LEDs avec la description suivante : LED-Lampe MÜLLER-LICHT, G9, EEK: A++, 3 W, 300 lm, 2700 K, c'est typiquement de la Chinoiserie importée avec un nom Allemand pour faire vendre, mais c'est à un prix correct sans avoir l'air d'un feu d'artifice.

Ça remplace bien les lampes G9 de 20W sur le papier. C'est équivalent en pratique aussi : c'est aussi lumineux sans tirer vers le jaune ni le bleu, mais il y a un très léger effet stroboscopique à ~100Hz.

Par chance, une des lampes ne fonctionnait pas, ce qui m'a permis de la démonter pour voir ce qu'il y avait dedans.

Datasheet
Le marchand indique plein de données plus ou moins utiles :
DonnéeValeurTraduction non-bullshit
Classe d'énergieAA+Bullshit
Consommation d'énergie3 kWh/1'000h3W en unités débiles
Tension de service230V ACExactement ce qu'on cherche
Puissance3W
DimmableNonCapacité probablement directement derrière le redresseur
Équivalence lampe à incandescence29WDélicat à définir sans bullshit
SocketG9Plug & Play
Facteur de Puissance>0.48Montage avec une capacité et des diodes
Température de couleur2'700K"Blanc chaud"
Intensité du faisceau300 lm
CRI>80Typique de LEDs de moyenne qualité mais mieux qu'une lampe à vapeur de sodium
Angle de rayonnement200°
Durée de vie moyenne25'000hLes LEDs chauffent relativement peu avec ce package, mais ça peut tirer sur le jaune après vieillissement
Nombre de cycles de démarrage>100'000fort probable que le pont de diode casse le premier
Performances à la fin de la durée de vie typique>70%
Durée de démarrage0.5~1stemps de montée à 60%, négligeable pour les LEDs et limité par la charge de la capa d'entrée

Extérieur et ouverture
Le boitier a une coque transparente qui ressemble à du polycarbonate, enfoncée et collée dans un corps hexagonal en céramique sur lequel les LEDs sont fixées (8 LEDs par côté et 3 en haut, 51 LEDs au total).
Picture from the manufacturer

Je n'ai pas réussi à décoller la coque du corps, et j'ai évité de couper le corps pour ne pas risquer d'abimer les LEDs ou le PCB dessous, mais ça doit-être une solution. Il est aussi sûrement possible de chauffer pour ramollir la colle.

La solution barbare est de tenir la coque dans un étau et de fissurer le corps, puis une fois qu'il est cassé, on peut utiliser un tournevis plat comme levier et casser un peu plus le corps en céramique.

Une fois la coque retirée, on va déplier les pattes, décoller le PCB qui est une sorte de mylar collé sur le corps en céramique, et ensuite on peut pousser sur les pattes et le PCB avec "l'alim" vient avec les LEDs.

Teardown
On identifie tout de suite le problème qui est une mauvaise soudure entre le PCB inséré dans le corps et le PCB flexible qui contient les LEDs.
flex pcb bad solder joint

Le schéma de la pseudo-alimentation est tout simple à identifier à l'ohm-mètre :
rectifier pcb
rectifier schematic
R2 sert décharger les capa C1 et C2 en l'absence d'alimentation. Le couple R3 et C1//C2 sert à limiter le courant de façon astucieuse en formant en diviseur de tension capacitif (C1//C2 vaut environ 3.5kOhm et je suppose la capa d'être fortement deratée à 230V), tout en évitant de devoir surdimensionner le redresseur. L'effet stroboscopique vient de l'absence de capacité (ou d'inductance) après le pont de diodes. Mais le montage fonctionne probablement bien avec un gradateur à triac malgré la note "non-dimmable".

ComposantValeur
R1, R21MΩ
R375Ω
C1, C2470nF

Le routage du PCB flexible est un peu plus astucieux, mais reste simple à comprendre avec son PCB simple-face translucide :
LED strip flexible pcb
LED strip flexible pcb lighted
LED strip schematic

Liens
Site marchand

icon Tags de l'article :

Billets d'avion

icon 21/04/2019 - No comments

Boarding pass British Airways
Ce billet a été imprimé sur un automate dans l'aéroport, simplement à partir d'un numéro de réservation.
M1Bxxxx/XAVIER MR EU4ABCD LHRMUCBA 0956 040M009F0087
13C>

M: Type d'encodage du billet
1: Une seule correspondance enregistrée sur ce billet
Bxxxx/XAVIER MR : Nom/Prénom, titre
E: Billet électronique
U4ABCD: Code de réservation du billet
LHR: Code IATA de l'aéroport de départ (London Heathrow)
MUC: Code IATA de l'aéroport de destination (Munich)
BA: Code IATA de l'opérateur (British Airways)
0956: Numéro du vol
040: Date du vol (9 Février, 40ème jour de l'année)
M: Type de compartiment et code de tarif propre au transporteur (classe économique non-remboursable)
009F: Numéro de place
0087: Sequence d'embarquement, 87ème personne à imprimer le boarding pass
1: Statut du passager?
3C: ?
>: Début de la section de sécurité (102 caractères)

E-Billet Lufthansa
Ce billet a été envoyé par e-mail par le transpoxxxxr après avoir chocodela place.
M1Bxxxx/XAVIER ES9ABC LYSMUCLH 2253 330Mcode0045
35D>

M: Type d'encodage du billet
1: Une seule correspondance enregistrée sur ce billet
Bxxxx/XAVIER : Nom/Prénom, titre
E: Billet électronique
ES9ABC: Code de réservation du billet
LYS: Code IATA de l'aéroport de départ (Lyon Saint-Exupéry)
MUC: Code IATA de l'aéroport de destination (Munich)
LH: Code IATA de l'opérateur (Lufthansa)
2253: Numéro du vol
330: Date du vol (26 Novembre, 330ème jour de l'année)
M: Type de compartiment et code de tarif propre au transporteur (classe économique non-remboursable)
012F: Numéro de place
0045: Sequence d'embarquement, 45ème personne à imprimer le boarding pass
3: Statut du passager?
5D: ?
>: Début de la section de sécurité (102 caractères)

Références

icon Tags de l'article :

Éclairage à LEDs

icon 02/12/2018 - No comments

Éclairage d'origine
Un pièce de mon appartement est éclairé avec des spots GU-4 12V, chacun avec une lampe à incandescence autour de 5W, avec un affreux câblage 4 spots sur une alim, puis 5 spots sur une autre alim identique. Ça fonctionne, sauf que les deux alims ont cramé à deux semaine d'intervalle.

Rafistolage 1
J'ai enlevé les alimentations cramées, puis je les ai remplacées par une seule alimentation ATX 12V. Ça fonctionne parfaitement, sauf que c'est un peu overkill, et surtout, j'ai besoin de l'alimentation ATX.

Fail 2
J'ai remplacé l'alimentation par un transfo 12V qui trainait, et je l'ai proprement emballé dans un boitier DIN.
cheap 12V transformer DIN enclosure
Ça fonctionne, sauf qu'un transfo 36VA n'est clairement pas suffisant pour alimenter 9 lampes de 5W chacunes (45W) et a commencé à sentir le cramé.

Réparation 3
J'ai acheté 10 LEDs en Chinoisium, vendues pour fonctionner directement en 12V AC, du coup avec un pont de diode et une capa.
new Pollin DAYLITE  G4-90-S LEDs

Fiabilisation 4
Après plusieurs mois, il y a eu des soucis de faux contacts, avec des soudures qui ont séchées et partiellement fondues, et toutes les capas fuyaient.
Peut-être que le transfo qui sort 14V AC à vide (soit 19.5V aux bornes de la capa) est un peu trop pour le dimensionnement (thermique) des LEDs et de leurs résistances de limitation.
used Pollin DAYLITE  G4-90-S LEDs
La majorité des LEDs ont été réparées (soudures refaites, capas supprimées), mais il a aussi fallu s'attaquer à l'origine du problème.
fixed Pollin DAYLITE  G4-90-S LEDs

Note: La résistance de saignée en parallèle de la capa a été supprimée, vu qu'elle ne sert plus à rien sans la capa

On remet le transfo d'où il vient, et on va réutiliser une alim d'imprimante Canon dont il aura suffit de changer la valeur de deux résistances pour sortir 12V DC.
Canon Pixma PSU

Les LEDs sont un peu moins lumineuses avec 12V DC qu'avec potentiellement 14V AC, mais on peut espérer que ce soit plus fiable.
fixed Pollin DAYLITE  G4-90-S LEDs

Références

icon Tags de l'article :

Autoradio Tuner List (4) : Écran LCD

icon 17/03/2018 - 3 comments

J'ai toujours voulu afficher n'importe quoi sur l'afficheur au centre du tableau de bord, qui affiche normalement la station de radio et l'heure, et il se trouve que c'est tout à fait possible.
displaying funny words

Hardware
Ici, on a un autoradio Renault/VDO Tuner List (modèle 22DC259/62T, 77 00 434 422) et un afficheur Renault (82 00 028 364), avec un connecteur gris connecté au tableau de bord et à la radio, et un connecteur rouge connecté aux commandes situées sous le volant.

Je n'ai pas eu confiance dans les documentations que j'ai pu trouver, avec des couleurs de fils incorrectes, des brochages de connecteurs parfois à l'envers, différentes version de l'afficheur ou de l'autoradio.
pin identification
Mais ce n'est pas un problème, il suffit de démonter pour vérifier qu'on ne va rien faire de dangereux. On peut rapidement identifier les pins à la masse, ceux des alimentations, et certains signaux de puissance.

Connecteur Gris :
  1. NTC
  2. GND
  3. NC
  4. NC
  5. GND
  6. Éclairage feux? (in)
  7. Éclairage backlight? (in)
  8. +12V (contact?, in)
  9. +12V (permanent?, in)
  10. NC
  11. GND
  12. LCD_ENABLE (12V, in)
  13. SDA (TTL, io)
  14. SCL (TTL, io)
  15.  !MRQ (TTL, io, active-low)

Connecteur Rouge (TTL) :
  1. NC
  2. NC
  3. NC
  4. NC
  5. NC
  6. NC
  7. NC
  8. NC
  9. Commun 1
  10. Retour A
  11. Commun 2
  12. Retour B
  13. Commun 3
  14. Retour C
  15. NC

Ça permet de comprendre la majorité du câblage :
lcd + stalk + head unit connections

Et on peut aussi reverse-engineerer la matrice des boutons utilisés pour les commandes au volant:
FonctionPin communPin retour
OKA1
VOL-A2
VOL+A3
Source LB1
Source RB2
PauseB3
Molette 1C1
Molette 2C2
Molette 3C3
Curieusement, la molette n'est qu'un interrupteur rotatif à 3 positions, ça suffit à détecter le sens de rotation ça donne l'impression de bien plus de positions (6 par tour).

Câble
Dans ce cas, la solution la plus pratique est de prendre une rallonge avec des câbles mini-ISO branchés sur l'autoradio, de couper chaque fils et de les brancher sur un connecteur à 0.1", pour y mettre des cavaliers pour une connection directe, des fils en Y pour espionner le bus ou bien des fils vers un MCU ou un analyseur logique.
man in the middle cable

Connecteur jaune C1 :
  1. SDA (TTL 5V)
  2. SCL (TTL 5V)
  3.  !MRQ (TTL 5V)
  4. LCD_ENABLE (+12V)
  5. GND
On peut se contenter de n'utiliser que ce connecteur pour afficher ce que l'on veut, et reverse-engineerer une partie du protocole.
tuner list i2c bus reverse engineering in-situ
Comme je ne voulais pas décharger la batterie ni passer plusieurs heures dans le froid, j'ai préféré démonter l'afficheur et l'autoradio pour les utiliser à l'intérieur.
tuner list i2c bus reverse engineering on a bench


Protocole
Ça nous avance bien de connaître le matériel, mais il faut encore comprendre comment l'autoradio communique avec l'écran LCD.
Pour ça, on va utiliser un analyseur logique (Cypress FX2 et sigrok/pulseview) et regarder tout ce qui passe sur le bus i2c.
cheap logic analyzer

On peut voir que le bus i2c fonctionne à 7.14kHz et que le signal !MRQ est constamment tiré à 0 avant que quelque chose ne soit transféré sur le bus.

En débranchant le signal MRQ de chaque côté, on peut voir que l'afficheur le force à 0 en attendant une trame de l'autoradio, mais que l'autoradio le force aussi à 0 avant d'envoyer une tram à l'autoradio. On peut aussi voir que l'autoradio est maître sur le bus i2c, et identifier l'adresse de l'écran LCD (0x23).

On peut voir plusieurs messages de 2 octets de long [0x01, 0x10] ou [0x01, 0x11], demandés au moins toutes les 500ms par l'autoradio (initié par l'afficheur qui tire le signal MRQ à 0, puis répond lorsque l'autoradio envoie une requête).
i2c line on idle

Commandes au volant
Il y a aussi une trame répondue par l'afficheur lorsqu'on appuie sur un bouton des commandes au volant, et qui permet de déduire le code de chacune des commandes au volant. L'afficheur tire le signal MRQ à 0, l'autoradio envoie une requête, puis l'afficheur envoie la trame correspondant aux boutons pressés.
i2c line button
Boutonoctet 0octet 1octet 2octet 3octet 4action
OK0x040x820x910x000x00press
OK0x040x820x910x000x40hold
Source R0x040x820x910x000x01press
Source R0x040x820x910x000x81hold
Source L0x040x820x910x000x02press
Source L0x040x820x910x000x82hold
Volume +0x040x820x910x000x03press
Volume +0x040x820x910x000x43hold
Volume -0x040x820x910x000x04press
Volume -0x040x820x910x000x44hold
Pause0x040x820x910x000x05press
Wheel up0x040x820x910x010x41
Wheel down0x040x820x910x010x01
Les valeurs 0x41 et 0x42 pour le dernier octet sont aussi interprétées par l'autoradio comme les boutons Source R et Source L maintenus appuyés, et il n'y a pas de code lorsqu'on maintient appuyé le bouton Pause ou pour la molette.

Affichage
L'afficheur est rafraichi uniquement en cas de besoin, on peut l'observer en appuyant sur un bouton de l'autoradio, qui va forcer le signal MRQ à 0, puis va envoyer une trame entre 13 et 16 octets avec les caractères à afficher.
i2c line display
Affichage12345678910111213141516
98.50x0f0x900x7f0x290xff0x3f0x350x810x200x200x200x200x390x380x350x20
CASS [=]0x0f0x900x7f0x550xff0xff0x600x010x430x410x530x530x200x040x050x06
BAYERN 30x0f0x900x7f0x550xff0x3f0x750x010x420x410x590x450x520x4E0x200x33
Bingo ! Les trames à partir de l'octet 9 ressemblent à de l'ASCII (les caractères clignotent si le MSB est à 1), l'octet 7 permet d'afficher le point décimal et le digit de mémoire/piste, et l'octet 6 permet d'afficher les pictogrammes Tuner Preset, Tuner Manu, Dolby et MSS.

Programme
On va remplacer l'autoradio par un Arduino Mega (n'importe quel micro-contrôleur avec un périphérique i2c et des IO TTL suffit), pour pouvoir écrire sur l'afficheur et lire l'état des boutons.

Avec un Atmel AVR, il faut forcer le bitrate/prescaler à environ 7kHz avec les lignes suivantes:
void conf() {
TWBR = 0xff;
TWSR = 0x01;
}


Comme c'est un programme de test qui n'a qu'une seule fonction et un MCU surpuissant pour son utilisation, il est possible d'écrire un code peu optimisé (polling au lieu d'interruptions, copy/paste).

On va initialiser l'écran en envoyant quelques trames [0x01, 0x10] et [0x01, 0x11], puis on peut écrire un peu ce qu'on veut :
void writerandom(byte *data, int len) {
while(digitalRead(2)); // polling the MRQ line
Wire.beginTransmission(0x23);
conf(); // overwrites the bitrate/prescaler after the Wire lib configures the i2c
Wire.write(data, len);
Wire.endTransmission();
}

Dans ce cas, on peut commencer par copier/coller des trames récupérées en sniffant celles envoyées par l'autoradio, puis on va reverse-engineerer le protocole complet en bouclant sur tous les caractères entre 0x00 et 0xFF, et en testant les pictogrammes.

On va aussi pouvoir lire l'état des boutons, qui sont des trames de 5 octets :
void read01() {
while(digitalRead(2)); // polling the MRQ line, pulling the MRQ line low and waiting 500us also works
conf(); // overwrites the bitrate/prescaler after the Wire lib configures the i2c
Wire.requestFrom(0x23, 5);
TWBR = 0xff;
TWSR = 0x01; // 0x00 appears to work as well
for(i = 0; i < 5; i++) {
READDATA[i] = Wire.read();
}
}


Références

icon Tags de l'article : , , , , ,

Perceuse Black & Decker

icon 20/01/2018 - No comments

J'ai récupéré une perceuse qui semblait assez ancienne, fonctionnelle, mais avec un bruit de roulements usés
Au prix où je l'ai eu (0EUR), je n'ai rien à perdre à la démonter pour voir ce qui ne va pas.
D'habitude, les outils Black & Decker ne valent pas mieux que les Chinoiseries, mais celui-ci est nettement plus lourd que d'habitude.
Black & Decker drill

Démontage de la coque
Il y a des vis à tête Philips ou plate de partout, et accessibles, du coup c'est très intuitif.
Contrairement aux perceuses bas de gamme actuelles, la coque est en nylon (renforcé, PA6-GF) monobloc, avec une cloche métallique autour du réducteur et en plastique à l'arrière du moteur, au lieu d'être en deux parties moulées (nettement plus rapide et cheap à mouler).
De façon intéressante, la date de fabrication est marquée sur les pièces moulées (1973).

On commence par le dos du moteur, qui donne accès aux palliers du moteur (le bronze est sec et poussiéreux, mais sans jeu ni traces de chauffe), et les balais ont l'air en bon état.
bushings + brushes cover
brushes

Le démontage de la partie autour de l'interrupteur et du cordon secteur est amusante. L'ensemble devrait être protégé de la poussière extérieure, mais est plein de poussière noire, comme si quelque chose avec explosé.
switch

La coupable est une capa "Fribourg condensateurs", de capacité inconnue, mais comme elle ne sert qu'à redresser le PF et limiter le bruit des balais, on peut s'en passer temporairement.


On peut ensuite retirer la cloche du réducteur avec le rotor (attention, j'ai abimé des pales de ventilation, et le moteur n'est plus très bien équilibré). On voit aussi des marques d'équilibrage sur le rotor.
rotor shaft and fan

On peut aussi démonter le stator pour le nettoyer. Vu le volume du core magnétique et le diamètre du fil de cuivre, ça semble dimensionné "à la louche" pour 500W continus et 1.5kW pic.

Réducteur
Sans surprise, vu le bruit qui venait du réducteur, on pouvait s'attendre à des choses intéressantes.
La graisse est complètement collée avec une consistance de chewing-gum, et les roulements/palliers et les engrenages tournent quasiment à sec.
old cooked grease

En démontant progressivement, on peut dégager les restes de graisse à la spatule, et nettoyer la cloche, puis les palliers/roulements et les engrenages avec plusieurs bains d'essence successifs.

On va faire attention aux palliers (le jeu est correct), et les tremper une heure dans de l'huile chauffée (le bronze fritté est une sorte "d'éponge à huile", et l'huile est plus fluide à chaud).

Ensuite, on pré-graisse les engrenages et les roulements, puis on rajoute des gros tas de graisse autour de chaque train d'engrenages.

Nettoyage et remontage
La coque est nettoyée à l'eau savonneuse, ça suffit largement à enlever toute la sciure et les saletés. La partie électrique (collecteur) est nettoyée à l'essence (n'importe quel solvant pas trop agressif pour l'émail et assez volatil devrait aller), pour éviter de l'oxyder.
Ensuite le remontage est assez intuitif.
new grease
grease, brake cleaner and oil

icon Tags de l'article : ,

Clé dynamo

icon 27/12/2017 - No comments

J'ai acheté une clé dynamométrique pour un prix beaucoup trop faible pour que ce soit de la bonne qualité...
Comme je n'en avais pas une confiance absolue, j'ai vérifié la calibration.

Outil
C'est une clé dynamométrique assez simple, avec un bras de 400mm de long, un carré 1/2" (12.7mm) avec un cliquet réversible (mais le ressort ne fonctionne que pour le serrage), et une vis de réglage au bout du bras (28~210Nm). Il y a un joint torique entre le manche et la tête et le bout du manche semble étanche à la poussière.
Absaar cheap torque wrench

À l'utilisation, le cliquet a un angle un peu grand, mais ce n'est pas plus mal pour quelque chose censé tenir 210Nm.
La boite permet de stocker le ressort détendu, en espérant que la clé puisse être durable.
La bague de compression et la vis de bloquage font cheap, le vernier est directement usiné/embouti dans le manche, plutôt qu'être séparé.
1/2
Vernier scale

La marque Absaar semble appartenir à "MSA International", un importateur de Chinoiseries Luxembourgeois, qui livre en Europe (le "Over 40 years of German engineering" peut être trompeur). Ce qui peut expliquer que j'ai vu exactement la même clé vendue sous des marques différente (pour 3 à 4 fois le prix) dans différents magasins de bricolage.

Protocole de mesure
La chose la plus accessible sur laquelle je peux forcer est un écrou de roue de voiture (120Nm maxi), et comme C=F × L, on devrait pouvoir mesurer avec une balance.
torque measuring setup
torque measuring setup

Pour les faibles couples, il est plus facile de manipuler la clé à la main, avec un levier de 400mm, et à partir de 84Nm, il était plus facile d'actionner le bout du levier (420mm) avec le pied.
Il est assez délicat de tenir sur la balance, puisqu'il faut que le poids soit bien réparti et que la force soit appliquée lentement sur le levier. Il faut lire la valeur au moment exact où la clé déclanche.

Pour un premier example, on veut déclancher la clé à 40Nm, on va régler le ressort sur la bonne valeur, puis on se place sur la balance et on commence a appliquer progressivement le couple jusqu'au déclanchement. Avec un levier de 400mm, on devrait avoir environ 10kg.

$$C = (M_v - M) \times g \times l$$
On lit M sur la balance, exactement au moment du déclanchement, et on a mesuré Mv à vide, avant la mesure.
$$C = (61.5 - 51.5)kg \times 9.81N/kg \times 0.4m$$
$$C = 39.24Nm$$

La position de la main sur le levier est précise à 10mm près (2.5%), le poids est mesuré à 0.5kg près (<2%). On peut estimer "à la louche" une erreur globale de l'ordre de 5%, et inférieure à 10%

Résultats de mesure
calibration checking

Les résultats me conviennent parfaitement pour serrer des écrous sans avoir peur de les voir se dévisser ni les tordre en serrant trop fort.

Références

icon Tags de l'article : ,

Garmin Nüvi 1200

icon 17/12/2017 - No comments

On m'a donné un récepteur GPS Garmin Nüvi 1240 non-fonctionnel. J'avais prévu de le démonter pour un teardown, puis la note "no serviceable components inside" m'a donné envie de le réparer.
/!\ Attention, les batteries Li-po présentent des risques d'explosion en cas de compression/déchirure, surcharge, charge après une sous-charge, haute température, sur-courant
/!\ Warning, Li-po batteries can explode in case of deformation/pucture, overcharge, charge after an deep discharge, high temperatures, overcurrent

Teardown
  1. Déclipsage de la face avant grise
  2. Dévissage du cadre noir (4 vis Torx)
  3. Déclipsage du cadre noir
  4. Glissage de l'écran + support métallique
  5. Débranchage de la batterie
  6. Débrancheage de l'écran
  7. Dévissage du PCB (2 vis Torx)
  8. Déclipsage du PCB
  9. /!\ Décollage de la batterie /!\

FonctionMarqueRéférenceFace
SoCGarmin/ST590-00045-01top
FlashSandiskfNAND SDI N202-4Gtop
RAMSECillisibletop
GPSSTSTA5620Cbottom
Audio DAC/AmpTIPCM1774bottom
PMICTI?SN84033bottom
Garmin Nüvi top side
Garmin Nüvi bottom side


Réparation
Au démontage, la batterie semble légèrement gonflée et on mesure 0V à ses bornes, sur le PCB.
En mesurant directement aux bornes de la batterie, avant le BMS, on peut mesurer 2.5V, ce qui donne une batterie en mauvais état, mais pas forcément morte.
Après une charge lente à 100mA (C/10) à l'alimentation de labo, il a fallu débrancher puis rebrancher le BMS pour qu'il permette la charge/décharge.
original swollen battery
En testant, le système fonctionne, mais l'autonomie est d'une dizaine de minutes avec une consommation <500mA, ce qui confirme l'idée d'une batterie hors service.
original battery

Il est possible de mettre n'importe quelle batterie qui supporte une tension maxi >4.2V, alors j'ai mis une batterie Li-ion au format 18650 (Panasonic/Sanyo UR18650ZTA, 3Ah neuve, 1.92Ah après mesure) récupérée d'un PC portable Dell Latitude.
li-ion battery test
Comme le test est concluant, on peut rendre la réparation définitive:
ziptied battery
En théorie, le BMS n'est pas totalement indispensable, puisque le PMIC devrait avoir une fonctionnalité de UVLO et supporte la NTC pour protéger la batterie en cas de températures extrêmes. J'ai dû le supprimer parce qu'il était endommagé, mais une sécurité supplémentaire n'aurait pas fait de mal.
Il est aussi indispensable de mettre une thermistance NTC de 10kΩ le plus près possible de la batterie, pour permettre au PMIC de protéger la batterie. Souder une résistance fixe de 10kΩ est possible, mais ça ne doit pas être utilisé plus que pour des tests.

2nde réparation
Après des tests, la nouvelle batterie ne se charge pas toujours, et la charge fonctionne par intermittance. Une inspection du connecteur mini-USB montre qu'il est déformé.
La tentative de re-plier les pins et l'extérieur du connecteur n'ont rien donné de fiable.
90° mini-USB-connector
90° mini-USB-connector

Par contre le connecteur mini-USB a un format assez rare, avec les pins pliés à 90°, et introuvable chez les fournisseurs habituels, mais on peut le remplacer en coupant et pliant un connecteur mini-USB plat et en renforçant avec de la tresse de cuivre et de la colle chaude.
hot-glued USB-connector

On va aussi rajouter des zipties et du scotch vinyle pour rendre le système plus résistant dans le temps:
ziptied battery

Tests
C'est un peu moche, mais c'est parfaitement fonctionnel.

La recherche des satellites peut prendre assez longtemps la première fois, mais il ne devrait pas y avoir de problèmes si l'antenne et le PCB ne sont pas endommagés.
real life test  (using the train)
Il est très pratique (surtout pour la sécurité) d'utiliser les transports en commun (bus, train) pour ce genre de tests.

Le GPS à parfois quelques glitches amusants (en ville):
168km/h in a city

Références

icon Tags de l'article : , ,